// pages/star/star.js
const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    starbook: app.globalData.starbook,
    flag: [],
  },
  //恢复这个的时候记得去onload一起回复一下
  // onGenerateProblems() {
  //   // 预设的参数
  //   const numQuestions = 10; // 生成的题目数量
  //   const difficulty = 3; // 难度等级（1: 简单, 2: 中等, 3: 困难）
  //   wx.showLoading({
  //     title: '生成中...',
  //     mask: true,
  //   });
  //   // 调用云函数
  //   wx.cloud.callFunction({
  //     name: 'generateAndStoreProblems',
  //     data: {
  //       numQuestions: numQuestions,
  //       difficulty: difficulty,
  //     },
  //     success: (res) => {
  //       console.log('云函数调用成功:', res);
  //       if (res.result.success) {
  //         this.setData({
  //           resultMessage: `成功生成了 ${numQuestions} 道题目！`,
  //         });
  //         wx.showToast({
  //           title: '生成成功',
  //           icon: 'success',
  //           duration: 2000,
  //         });
  //       } else {
  //         this.setData({
  //           resultMessage: `生成失败：${res.result.error}`,
  //         });
  //         wx.showToast({
  //           title: '生成失败',
  //           icon: 'none',
  //           duration: 2000,
  //         });
  //       }
  //     },
  //     fail: (err) => {
  //       console.error('云函数调用失败:', err);
  //       this.setData({
  //         resultMessage: '生成失败，请稍后再试。',
  //       });
  //       wx.showToast({
  //         title: '生成失败',
  //         icon: 'none',
  //         duration: 2000,
  //       });
  //     },
  //     complete: () => {
  //       wx.hideLoading();
  //     },
  //   });
  // },

  
  batchdelete(){
    let len = this.data.flag.length;
    let did = [];
    console.log(this.data.flag)
    for( var i=0 ; i<len ; i++ ){
      if( this.data.flag[i].checked===true )
        did.push(i);
    }
    console.log(did)
    len = did.length;
    for( var i=0 ; i<len ; ++i ){
      let id = did[i]-i;
      let tmp = this.data.starbook;
      const itemToDelete = tmp.splice(id, 1)[0];  // 获取并删除指定项
      this.setData({ starbook: tmp });
      this.removeFromDatabase(itemToDelete); // 从数据库中删除
      tmp = this.data.flag;
      tmp.splice(id,1);
      this.setData({flag: tmp});
        console.log(id);
    }
  },
  checkboxChange(e) {
    const items = this.data.flag
    let values = e.detail.value;
    console.log(values);
    for (let i = 0, lenI = items.length; i < lenI; ++i) {
      items[i].checked = false
      for (let j = 0, lenJ = values.length; j < lenJ; ++j) {
        if (items[i].value === Number(values[j])) {
          items[i].checked = true
          break
        }
      }
    }
    this.setData({
      flag: items
    })
  },
  exdelete: function(event) {
    const id = event.currentTarget.dataset.index;
    let tmp = this.data.starbook;
    const itemToDelete = tmp.splice(id, 1)[0];  // 获取并删除指定项
    this.setData({ starbook: tmp });
    this.removeFromDatabase(itemToDelete); // 从数据库中删除
  },

// 从数据库删除条目
// 从数据库删除条目
removeFromDatabase: function(item) {
  const { openid } = app.globalData.userInfo; // 直接从 globalData 获取 openid

  const db = wx.cloud.database();
  db.collection('star').where({
    _openid: openid, // 使用已获取的 openid
    content: item
  }).remove({
    success: res => {
      console.log('项目删除成功', res);
    },
    fail: err => {
      console.error('项目删除失败', err);
    }
  });
},



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //this.onGenerateProblems();
    // 得导入API
    // // 引入 jsPDF
    // wx.request({
    //   url: 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js',
    //   success: (res) => {
    //       // 使用 eval 解析 jsPDF
    //       this.jsPDF = eval(res.data);
    //   },
    //   fail: (err) => {
    //       console.error('加载 jsPDF 失败', err);
    //   }
    // });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    this.loadUserStarItems();
  },

  loadUserStarItems: function() {
    const db = wx.cloud.database();
    db.collection('star').where({
      _openid: app.globalData.userInfo.openid
    }).get({
      success: res => {
        // 确保你的starbook被正确设置并包含所有items
        let starItems = res.data.map(item => item.content); // 映射出所有content
        console.log(starItems);
        this.setData({
          starbook: starItems
        });
        var len = starItems.length
        var tmp = new Array(len);
        for( var i=0 ; i<len ; ++i ){
          tmp[i] = {value:'',name:'',checked:false};
        }
        for( var i=0 ; i<len ; ++i ){
          tmp[i].value = i;
          tmp[i].name = this.data.starbook[i];
          tmp[i].checked = false;
        }
        this.setData({
          flag: tmp
        });
      },
      fail: err => {
        console.log('查询失败', err);
      }
    });
  },


  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})